package com.zmn.oms.common.dio.redistribute;

import com.zmn.oms.common.dio.OmsAppBaseDIO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 类描述: 工单改派申请DIO
 *
 * @author: HuangChao
 * @since: 2022/05/10 8:58
 */
@ApiModel(value = "工单改派申请")
@Data
@ToString(callSuper = true)
public class OrderWorkRedistributeApplyDIO extends OmsAppBaseDIO {
    private static final long serialVersionUID = -7696470953987385124L;

    @ApiModelProperty(value = "订单id")
    @NotNull(message = "订单id不能为空")
    private Long orderId;

    @ApiModelProperty(value = "工单id")
    @NotNull(message = "工单id不能为空")
    private Long workId;

    @ApiModelProperty(value = "改派缘由id")
    @NotNull(message = "改派缘由id不能为空")
    private Integer reasonId;

    @ApiModelProperty(value = "改派缘由")
    private String reason;

    @ApiModelProperty(value = "跟单内容")
    private String trackContent;

    @ApiModelProperty(value = "跟单缘由名称")
    private String trackReasonName;

    @ApiModelProperty(value = "服务分类id")
    private Integer servCategId;

    @ApiModelProperty(value = "产品id")
    private Integer productId;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "区县ID")
    private Integer countyId;

    @ApiModelProperty(value = "区县名称")
    private String countyName;

    @ApiModelProperty(value = "街道ID")
    private Integer streetId;

    @ApiModelProperty(value = "街道")
    private String street;

    @ApiModelProperty(value = "客户地址具体门牌号")
    private String address;

    @ApiModelProperty(value = "工单变更 经度")
    private Double editLongitude;

    @ApiModelProperty(value = "工单变更 纬度")
    private Double editLatitude;

    @ApiModelProperty(value = "预约时间")
    private Date dutyTime;

    @Size(max = 255, message = "申请备注最多255个字")
    @ApiModelProperty(value = "申请备注")
    private String applyRemark;

    @ApiModelProperty(value = "申请图片urls，多个逗号分隔")
    private String imageSrc;

    @ApiModelProperty(value = "附件文件urls，多个逗号分隔")
    private String attachmentUrls;

    @ApiModelProperty(value = "求助类型", notes = "0无 1范围 2定向")
    private Integer helpType;

    @ApiModelProperty(value = "审核类型", notes = "0无 1员工审核 2主管审核")
    private Integer auditType;

    @ApiModelProperty(value = "改派类型",notes = "1系统 2指定")
    private Integer redistributeType;

    @ApiModelProperty(value = "申请人id")
    private Long applyUserId;

    @ApiModelProperty(value = "申请人")
    private String applyUser;

    @ApiModelProperty(value = "申请人类型")
    private Integer applyUserType;

    @ApiModelProperty(value = "求助工程师Id")
    private Integer helpMasterId;

    @ApiModelProperty(value = "求助工程师名称")
    private String helpMasterName;

    @ApiModelProperty(value = "指定工程师名称Id")
    private Integer redistributeMasterId;

    @ApiModelProperty(value = "改派工程师名称")
    private String redistributeMasterName;

    @ApiModelProperty(value = "派单网格", notes = "指定改派通用 1网格外，2网格内，3跨网格")
    private Integer distributeGrid;
}
